﻿/* Autor: Achim Schnell */

using System;
using System.Collections.Generic;
using AppFx.ComponentModel.Descriptive;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Tests.ComponentModel
{
    /// <summary>
    ///Dies ist eine Testklasse für "CompiledTypeDescriptionProvider" und soll
    ///alle CompiledTypeDescriptionProvider Komponententests enthalten.
    ///</summary>
	[TestClass()]
	public class Test_CompiledTypeDescriptionProvider
	{
		private Test_ITypeDescriptionProvider _Test;

		/// <summary>
		///Ein Test für "CompiledTypeDescriptionProvider-Konstruktor"
		///</summary>
		[TestMethod()]
		[TestInitialize]
		[Description("Testet, ob der CompiledTypeDescriptionProvider erstellt werden kann.")]
		public void CompiledTypeDescriptionProviderConstructorTest()
		{
			_Test = new Test_ITypeDescriptionProvider();
			_Test.Provider = new CompiledTypeDescriptionProvider();
		}

		/// <summary>
		///Ein Test für "GetDescriptors"
		///</summary>
		[TestMethod()]
		[Description("Testet, ob der CompiledTypeDescriptionProvider PropertyDescriptors auf Basis einer Objektinstanz zur Verfügung stellen kann.")]
		public void Can_GetDescriptorsByInstanceTest()
		{
			_Test.Can_GetDescriptorsByInstanceTest();
		}

		/// <summary>
		///Ein Test für "GetDescriptors"
		///</summary>
		[TestMethod()]
		[Description("Testet, ob der CompiledTypeDescriptionProvider PropertyDescriptors auf Basis eines Typs zur Verfügung stellen kann.")]
		public void Can_GetDescriptorsByTypeTest()
		{
			_Test.Can_GetDescriptorsByTypeTest();
		}

		/// <summary>
		///Ein Test für "GetDescriptors"
		///</summary>
		[TestMethod()]
		[Description("Testet, ob der CompiledTypeDescriptionProvider PropertyDescriptors auf Basis eines Typs zur Verfügung stellen kann, und dabei die übergebene Exclusion berücksichtigt.")]
		public void Can_GetDescriptorsByTypeExclusion()
		{
			_Test.Can_GetDescriptorsByTypeExclusion();
		}

		/// <summary>
		///Ein Test für "GetDescriptors"
		///</summary>
		[TestMethod()]
		[Description("Testet, ob der CompiledTypeDescriptionProvider PropertyDescriptors auf Basis einer Onjektinstanz zur Verfügung stellen kann, und dabei die übergebene Exclusion berücksichtigt.")]
		public void Can_GetDescriptorsByInstanceExclusions()
		{
			_Test.Can_GetDescriptorsByInstanceExclusions();
		}

		/// <summary>
		///Ein Test für "GetDescriptors"
		///</summary>
		[TestMethod()]
		[Description("Testet, ob der CompiledTypeDescriptionProvider PropertyDescriptors auf Basis eines Typs zur Verfügung stellen kann, und dabei alle Exclusions berücksichtigt.")]
		public void Can_GetDescriptorsByTypeExclusions()
		{
			_Test.Can_GetDescriptorsByTypeExclusions();
		}

		/// <summary>
		///Ein Test für "GetDescriptors"
		///</summary>
		[TestMethod()]
		[Description("Testet, ob der CompiledTypeDescriptionProvider PropertyDescriptors auf Basis einer Objektinstanz zur Verfügung stellen kann, und dabei alle Exclusions berücksichtigt.")]
		public void Can_GetDescriptorsByInstanceExclusion()
		{
			_Test.Can_GetDescriptorsByInstanceExclusion();
		}
	}
}
